package com.shiyanlou.upms.system.controller;

import com.shiyanlou.upms.common.utils.R;//新引入的包
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

// @RestController 可以使 Controller 里面的方法都以 json 格式输出，以后不用再写什么 jackjson 配置了。
@RestController
public class HelloController {
    //使用配置项, 在类的属性前加注解 @Value("\${属性名}")
    @Value("${shiyanlou.name}")
    private String appName;

    @Value("${shiyanlou.version}")
    private String appVersion;

    @Value("${shiyanlou.description}")
    private String appDescription;


    @GetMapping("/hello")
    public String hello() {
        return "hello shiyanlou!";
    }

    //获取类的属性值信息
    @GetMapping("/getMsg")
    public String getMsg() {
        return appName + ":"+ appVersion + ":"+ appDescription;
    }

    //测试是否返回json格式的响应信息(而且报文中始终包含了响应码和项目描述信息)
    @GetMapping("/getApplication")
    public R getApplication() {
        Map<String, Object> resultMap = new HashMap<String, Object>();
        resultMap.put("appName", appName);
        resultMap.put("appVersion", appVersion);
        resultMap.put("appDescription", appDescription);
        resultMap.put("time", new Date());
        return R.ok(resultMap);
    }
}
